草庐IT

android - asyncTask 测试不执行

全部标签

testing - 我应该使用哪种方法来测试 golang 中的 func main()?

我在main.go中有一个函数main()可以完成这项工作,所有其他函数都在它下面(我没有在这里包括它们)。因此,当我为main中包含的所有funcs编写测试时,我可以测试它们。但是代码覆盖率很低,因为它表明我没有覆盖main函数中的代码。我知道测试库中有一个TestMain函数可以完成这项工作,但我就是不知道如何让它工作,以便测试涵盖funcmain()。下面是我的main()函数,它没有被测试覆盖...funcmain(){c,err:=getConfig()iferr!=nil{log.Fatal(err)}slideshows,err:=getSlideshows(c)ifer

golang 全局变量访问在基准测试中很慢

这是一个简单的golang基准测试,它以三种不同的方式运行x++:在一个简单的for循环中,在函数内部声明了x在函数内部声明了x的嵌套循环中在x声明为全局变量的嵌套循环中packagemainimport("testing")varx=0funcBenchmarkLoop(b*testing.B){x:=0forn:=0;n结果如下:$gotest-bench=.BenchmarkLoop-820000000000.32ns/opBenchmarkDoubleLoop-820000000000.34ns/opBenchmarkDoubleLoopGlobalVariable-82000

go - 如何在交互式 shell 中执行多个命令

我的应用程序使用控制台提供的所有类型的shell命令(curl、date、ping等等)。现在,我想使用os/exec来介绍交互式shell命令(如mongoshell)的案例。例如第一步,连接到mongodb:mongo--quiet--host=localhost博客然后执行任意数量的命令,获取每一步的结果db.getCollection('posts').find({status:'INACTIVE'})然后退出我尝试了以下方法,但它只允许我为每个mongo连接执行一个命令:funcmain(){cmd:=exec.Command("sh","-c","mongo--quiet-

bash - 在 Go 中执行带有参数的命令?

在我的shell中,我可以执行命令acme.sh--issue--dns-dexmaple.com--yes-I-know-dns-manual-mode-enough-go-ahead-please并获得输出。现在我想在go中执行此操作,我的代码如下:cmd:=exec.Command("bash","-c","acme.sh--issue--dns-dexmaple.com--yes-I-know-dns-manual-mode-enough-go-ahead-please");out,err:=cmd.CombinedOutput()iferr!=nil{log.Fatalf("

go - 执行 .go 文件时出错。即使安装了 go 也无法识别

当我在命令行中输入gorunfile.go时,它说go不是内部或外部命令,也不是可运行的程序或批处理文件。我已经安装了Go。编辑:抱歉,这是一个奇怪的问题 最佳答案 您应该将安装Go的目录(默认c:\Go\bin)放入您的PATH环境变量中。 关于go-执行.go文件时出错。即使安装了go也无法识别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/53468842/

Goroutine 从 main 返回后没有执行完。为什么?

我正在尝试理解golang中的上下文。我从https://golang.org/pkg/context/#example_WithCancel复制了一个例子并稍微改变一下:Playground:https://play.golang.org/p/Aczc2CqcVZRpackagemainimport("context""fmt""time")funcmain(){//gengeneratesintegersinaseparategoroutineand//sendsthemtothereturnedchannel.//Thecallersofgenneedtocancelthecon

go - 如何对 init() 函数进行基准测试

我正在玩以下使用查找表计算人口数量的Go代码:packagepopulationimport("fmt")varpc[256]bytefuncinit(){fori:=rangepc{pc[i]=pc[i/2]+byte(i&1)}}funccountPopulation(){varxuint64=65535populationCount:=int(pc[byte(x>>(0*8))]+pc[byte(x>>(1*8))]+pc[byte(x>>(2*8))]+pc[byte(x>>(3*8))]+pc[byte(x>>(4*8))]+pc[byte(x>>(5*8))]+pc[byt

unit-testing - 如何为一小时后函数返回时间编写单元测试

我有以下函数,它在当前时间添加给定的小时数并在中返回新时间funcgetExpiryTime(hourint)*string{constlayout="2006-01-02T15:04:05Z"expiryTime:=time.Now().Local().Add(time.Hour*time.Duration(hour))returnaws.String(expiryTime.Format(layout))}为此功能编写单元测试的最佳方法是什么? 最佳答案 您可以尝试模拟时间提供程序并在您的模拟中设置time.Now()函数以返回您

Golang 基准测试 : why does allocs/op show 0 B/op?

这是基准测试的代码片段://bench_test.gopackagemainimport("testing")funcBenchmarkHello(b*testing.B){fori:=0;i指标allocs/op显示0B/op。变量a是一个int类型,不会占用太多内存,但它不应该占用零B.>gotest-bench=.-benchmemgoos:darwingoarch:amd64pkg:aBenchmarkHello-420000000000.26ns/op0B/op0allocs/opPASSoka0.553s 最佳答案 Wh

unit-testing - 去单元测试无法加载文件

1、gotestconfig_test.go,总是文件,error:openconf/config.yml:Thesystemcannotfindthepathspecified2、源码ok3、gotestfile如何在不同目录下成功 最佳答案 测试期间您的工作目录不同。您可能需要动态计算配置目录路径的解决方法,例如:http://www.kaihag.com/external-assets-working-directories-and-go/ 关于unit-testing-去单元测试